package miiteen.customsportal.notice.beans;

import java.util.ArrayList;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import miiteen.customsportal.basic.beans.BasicBrowsingHistory;
import miiteen.customsportal.ct.beans.CTNoticeType;
import miiteen.customsportal.film.beans.FilmResource;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.List;

import miiteen.common.json.jackson.LongSerialize;
import miiteen.common.utils.FieldMeta;
import miiteen.sys.base.bean.BasePo;

/**
 * Name: CustomsPortal_Notice_Info
 * Des: -Bean
 * Author: lx
 * Date: 2020-07-06
 */
@ApiModel("兰关动态管理")
public class NoticeInfo extends BasePo {


    public NoticeInfo() {
        this.filmResourceList = new ArrayList<>();
        this.ctNoticeTypeList=new ArrayList<>();
    }

    @FieldMeta(name = "id")
    private long id;

    @FieldMeta(name = "信息类型Id")
    @ApiModelProperty(value = "信息类型Id" ,example = "1")
    private long noticeTypeId;

    @FieldMeta(name = "导航栏Id")
    @ApiModelProperty(value = "信息类型Id" ,example = "1")
    private long basicNavigationId;

    @FieldMeta(name = "标题")
    @ApiModelProperty(value = "标题")
    private String title;

    @FieldMeta(name = "发布时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "发布时间")
    private Date publishTime;

    @FieldMeta(name = "内容")
    @ApiModelProperty(value = "内容")
    private String content;

    @FieldMeta(name = "照片")
    @ApiModelProperty(value = "照片")
    private String pictures;

    @FieldMeta(name = "作者")
    @ApiModelProperty(value = "作者")
    private String author;

    @FieldMeta(name = "排序")
    private int indexOf;

    @FieldMeta(name = "是否显示(1、显示，2、隐藏)")
    private int isDisplay;

    @FieldMeta(name = "部门Id")
    private long deptId;

    @FieldMeta(name = "组织ID")
    private long organizeId;

    @FieldMeta(name = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @FieldMeta(name = "创建人id")
    private long createId;

    @FieldMeta(name = "创建人")
    private String creator;

    @FieldMeta(name = "更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @FieldMeta(name = "更新人id")
    private long updateId;

    @FieldMeta(name = "更新人")
    private String updator;

    @FieldMeta(name = "")
    private int delState;

    @FieldMeta(name = "")
    private String remark;

    @FieldMeta(name = "")
    private int reserveField;

    @FieldMeta(name = "")
    private String reserveField1;

    /*
    添加字段
     */
    @FieldMeta(name = "信息类型名称")
    private String noticeTypeName;

    @FieldMeta(name = "照片")
    private String image;

    @FieldMeta(name = "接收前端传过来的照片数组")
    private String[] imgSrc;

    @FieldMeta(name = "资料上传类型，0：普通上传，1：资料上传")
    private int ifDel;

    private List<FilmResource> filmResourceList;

    private List<CTNoticeType> ctNoticeTypeList;


    @FieldMeta(name = "详细内容")
    private String htmlContent;

    @FieldMeta(name = "今日浏览量")
    private int todayNumber;

    @FieldMeta(name = "总浏览量")
    private int totalNumber;



    @JsonSerialize(using = LongSerialize.class)
    public long getId() {
        return this.id;
    }

    public void setId(long value) {
        this.id = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getNoticeTypeId() {
        return this.noticeTypeId;
    }

    public void setNoticeTypeId(long value) {
        this.noticeTypeId = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getBasicNavigationId() {
        return this.basicNavigationId;
    }

    public void setBasicNavigationId(long value) {
        this.basicNavigationId = value;
    }

    public String getTitle() {
        return this.title;
    }

    public void setTitle(String value) {
        this.title = value;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date getPublishTime() {
        return this.publishTime;
    }

    public void setPublishTime(Date value) {
        this.publishTime = value;
    }

    public String getContent() {
        return this.content;
    }

    public void setContent(String value) {
        this.content = value;
    }

    public String getPictures() {
        return this.pictures;
    }

    public void setPictures(String value) {
        this.pictures = value;
    }

    public String getAuthor() {
        return this.author;
    }

    public void setAuthor(String value) {
        this.author = value;
    }

    public int getindexOf() {
        return this.indexOf;
    }

    public void setindexOf(int value) {
        this.indexOf = value;
    }

    public int getIsDisplay() {
        return this.isDisplay;
    }

    public void setIsDisplay(int value) {
        this.isDisplay = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getDeptId() {
        return this.deptId;
    }

    public void setDeptId(long value) {
        this.deptId = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getOrganizeId() {
        return this.organizeId;
    }

    public void setOrganizeId(long value) {
        this.organizeId = value;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(Date value) {
        this.createTime = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getCreateId() {
        return this.createId;
    }

    public void setCreateId(long value) {
        this.createId = value;
    }

    public String getCreator() {
        return this.creator;
    }

    public void setCreator(String value) {
        this.creator = value;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date getUpdateTime() {
        return this.updateTime;
    }

    public void setUpdateTime(Date value) {
        this.updateTime = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getUpdateId() {
        return this.updateId;
    }

    public void setUpdateId(long value) {
        this.updateId = value;
    }

    public String getUpdator() {
        return this.updator;
    }

    public void setUpdator(String value) {
        this.updator = value;
    }

    public int getDelState() {
        return this.delState;
    }

    public void setDelState(int value) {
        this.delState = value;
    }

    public String getRemark() {
        return this.remark;
    }

    public void setRemark(String value) {
        this.remark = value;
    }

    public int getReserveField() {
        return this.reserveField;
    }

    public void setReserveField(int value) {
        this.reserveField = value;
    }

    public String getReserveField1() {
        return this.reserveField1;
    }

    public void setReserveField1(String value) {
        this.reserveField1 = value;
    }

    public String getNoticeTypeName() {
        return noticeTypeName;
    }

    public void setNoticeTypeName(String noticeTypeName) {
        this.noticeTypeName = noticeTypeName;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String[] getImgSrc() {
        return imgSrc;
    }

    public void setImgSrc(String[] imgSrc) {
        this.imgSrc = imgSrc;
    }

    public List<FilmResource> getFilmResourceList() {
        return filmResourceList;
    }

    public void setFilmResourceList(List<FilmResource> filmResourceList) {
        this.filmResourceList = filmResourceList;
    }


    public List<CTNoticeType> getCtNoticeTypeList() {
        return ctNoticeTypeList;
    }

    public void setCtNoticeTypeList(List<CTNoticeType> ctNoticeTypeList) {
        this.ctNoticeTypeList = ctNoticeTypeList;
    }



    public String getHtmlContent() {
        return htmlContent;
    }

    public void setHtmlContent(String htmlContent) {
        this.htmlContent = htmlContent;
    }

    public int getIfDel() {
        return ifDel;
    }

    public void setIfDel(int ifDel) {
        this.ifDel = ifDel;
    }

    public int getTodayNumber() {
        return todayNumber;
    }

    public void setTodayNumber(int todayNumber) {
        this.todayNumber = todayNumber;
    }

    public int getTotalNumber() {
        return totalNumber;
    }

    public void setTotalNumber(int totalNumber) {
        this.totalNumber = totalNumber;
    }
}